/*
 * Copyright 2020 eBlocker Open Source UG (haftungsbeschraenkt)
 *
 * Licensed under the EUPL, Version 1.2 or - as soon they will be
 * approved by the European Commission - subsequent versions of the EUPL
 * (the "License"); You may not use this work except in compliance with
 * the License. You may obtain a copy of the License at:
 *
 *   https://joinup.ec.europa.eu/page/eupl-text-11-12
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 * implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
export default function NotificationController($mdToast, msgKey, msgParams, APP_CONTEXT) {
    'ngInject';

    let vm = this;

    vm.msgKey = msgKey;
    if (angular.isDefined(msgParams)) {
        vm.msgParams = msgParams;
    }

    vm.showTooltip = angular.isDefined(msgParams.status) ||
        angular.isDefined(msgParams.msg) ||
        angular.isDefined(msgParams.details);

    // uses the APP_CONTEXT name, so that the shared code
    // can be styled individually if necessary
    vm.css = {};
    vm.css[APP_CONTEXT.name + '-NOTIFICATION'] = angular.isDefined(APP_CONTEXT) && angular.isString(APP_CONTEXT.name);

    vm.closeToast = function() {
        $mdToast.hide();
    };
}
